package com.wantup.springboot.boot.jms.mkw.jms_activemq.activemq.queue;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * @author Zhaoluowei
 * @version 1.0
 * @date 2018/11/15 15:37
 *
 * 队列模式下的 消费者是 平分 消息队列中的消息
 *
 *
 * 发送消息的 生产者
 */
public class AppProducer {

    /**
     * activemq 默认的 端口
     *
     * 要开放61616 端口
     * 操作界面要开放 8161
     *
     */
    private static final String url = "tcp://47.94.142.36:61616";
    private static final String queueName = "queue-test";

    public static void main(String[] args) throws JMSException {

        //1.创建连接工程 ConnectionFactory
        ConnectionFactory connectionFactory  = new ActiveMQConnectionFactory(url);

        //2. 创建Connection连接
        Connection connection = connectionFactory.createConnection();

        connection.start();

        //4. 创建会话  第一个参数 表示 是否在事务中处理
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        //5. 创建目标
        Destination destination = session.createQueue(queueName);

        //6. 创建生产者
        MessageProducer producer = session.createProducer(destination);

        //发送消息
        for(int i = 0 ; i < 5000 ;i++){
            //7.创建消息
            TextMessage textMessage = session.createTextMessage("构造方法  test "+1);
            textMessage.setText("啦啦啦德玛西亚 "+i);

            //两个参数 :  发送的目标  发送消息
            producer.send(textMessage);
            System.out.println("发送消息 成功 "+textMessage.getText());
        }

        //关闭连接
        connection.close();

    }
}
